package string;

public class Test_String {
    public static void main(String[] args) {
        //遍历字符串
        extracted();
        System.out.println("*************************");

        /*
        需求：
        统计一个字符串中大写字母字符，小写字母字符，数字字符出现的次数，其他字符出现的次数
        ABCDEabcd123456！@#￥%^
        分析：字符串是有字符组成的，而字符的值都是有范围的，通过范围来判断是否包含该字符
        如果包含就让计数器自增
         */
        extracted1();

    }

    private static void extracted1() {
        String str = "ABCDEabcd123456！@#￥%^";
        int bigCount = 0;//大写字母计数器
        int smallCount = 0;//小写字母计数器
        int num = 0;//数字计数器
        int other = 0;//其他字符计数器
        //1.获取每一个字符，通过for循环遍历
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);//通过索引获取每一个字符
            //2.判断字符是否在这个范围内
            if (c >= 'A' && c <= 'Z') {
                bigCount++;
            } else if (c >= 'a' && c <= 'z') {
                smallCount++;
            } else if (c >= '0' && c <= '9') {
                num++;
            } else {
                other++;
            }
        }
        System.out.println("大写字母有：" + bigCount + "个");
        System.out.println("小写字母有：" + smallCount + "个");
        System.out.println("数字有：" + num + "个");
        System.out.println("其他字符有：" + other + "个");
    }

    private static void extracted() {
    /*
    需求：遍历字符串
     */
        String str = "abcdefg";
        for (int i = 0; i < str.length(); i++) {
            System.out.println(str.charAt(i));
            //通过索引获取每一个字符
        }
    }
}
